草庐IT

scrapy -- CrawlSpider类

全部标签

python - Scrapy并发策略

扩展Scrapy的更好方法是什么?通过运行一个scrapy进程并增加CONCURRENT_REQUESTS内部Scrapy设置通过运行多个scrapy进程,但仍专注于增加内部设置。通过增加scrapy进程的数量以及内部设置的一些常量值。如果是3-那么什么软件更适合用于启动多个scrapy进程?在多个服务器上分发scrapy的最佳方式是什么? 最佳答案 Scrapyd是管理Scrapy进程的好工具。但我能给出的最佳答案是视情况而定。首先,您需要弄清楚瓶颈在哪里。如果是CPU密集型解析,应该使用多进程。通过Twisted对Reactor

python - scrapy 爬虫抓取实例数据异常

刚接触python,想用scrapy搭建一个网络爬虫。我浏览了http://blog.siliconstraits.vn/building-web-crawler-scrapy/中的教程.蜘蛛代码如下:fromscrapy.spiderimportBaseSpiderfromscrapy.selectorimportHtmlXPathSelectorfromnettuts.itemsimportNettutsItemfromscrapy.httpimportRequestclassMySpider(BaseSpider):name="nettuts"allowed_domains=["

python - scrapy 能同时产生请求和元素吗?

当我编写parse()函数时,我可以为一个页面同时生成请求和项目吗?我想在A页面中提取一些数据,然后将数据存储到数据库中,并提取要访问的链接(这可以通过CrawlSpider中的规则来完成)。我把A页的链接页称为B页,所以我可以再写一个parse_item()从B页中提取数据,但是我想提取B页中的一些链接,所以只能用rule提取链接?如何处理Scrapy中的重复URL? 最佳答案 是的,您可以同时产生请求和元素。来自whatI'veseen:defparse(self,response):hxs=HtmlXPathSelector(

python - 在使用 Scrapy 进行身份验证的同时抓取 LinkedIn

所以我通读了CrawlingwithanauthenticatedsessioninScrapy我被挂断了,我99%确定我的解析代码是正确的,我只是不相信登录正在重定向并成功。我也遇到了check_login_response()的问题,不确定它正在检查哪个页面。虽然“注销”是有意义的。======已更新======fromscrapy.contrib.spiders.initimportInitSpiderfromscrapy.httpimportRequest,FormRequestfromscrapy.contrib.linkextractors.sgmlimportSgmlLi

python - 运行多个 Scrapy 蜘蛛(最简单的方法)Python

Scrapy非常酷,但是我发现文档非常简单,一些简单的问题很难回答。在将来自各种stackoverflow的各种技术组合在一起之后,我终于想出了一种简单且不过于技术性的方式来运行多个scrapy蜘蛛。我想它的技术性不如尝试实现scrapyd等:所以这里有一个爬虫可以很好地完成它的一项工作,即在表单请求之后抓取一些数据:fromscrapy.spiderimportBaseSpiderfromscrapy.selectorimportSelectorfromscrapy.httpimportRequestfromscrapy.httpimportFormRequestfromswim.i

python - Scrapy 好像没有做 DFO

我有一个网站,我的爬虫需要遵循一个序列。因此,例如,它需要在开始进入a2之前进入a1、b1、c1等。a、b和c中的每一个都由不同的解析函数处理,并且相应的url在Request对象中创建并产生。以下粗略地说明了我正在使用的代码:classaspider(BaseSpider):defparse(self,response):yieldRequest(b,callback=self.parse_b,priority=10)defparse_b(self,response):yieldRequest(c,callback=self.parse_c,priority=20)defparse_

python - 用于 AJAX 内容的 Scrapy CrawlSpider

我正在尝试抓取新闻文章的站点。我的start_url包含:(1)每篇文章的链接:http://example.com/symbol/TSLA和(2)一个“更多”按钮,它进行AJAX调用,在同一start_url中动态加载更多文章:http://example.com/account/ajax_headlines_content?type=in_focus_articles&page=0&slugs=tsla&is_symbol_page=trueAJAX调用的一个参数是“页面”,每次单击“更多”按钮时该参数都会递增。例如,点击“更多”一次,会额外加载n篇文章,并在“更多”按钮的onCl

python - 在 python Scrapy 中执行 SplashRequest 时添加等待元素

我正在尝试在python中使用SplashforScrapy来抓取一些动态网站。但是,我看到Splash在某些情况下无法等待完整页面加载。解决此问题的一种蛮力方法是添加较长的wait时间(例如,以下代码段中的5秒)。然而,这是非常低效的,并且仍然无法加载某些数据(有时加载内容需要超过5秒)。是否存在某种可以通过这些请求放置的等待元素条件?yieldSplashRequest(url,self.parse,args={'wait':5},'User-Agent':"Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko

python - 如何基于Scrapy搭建一个永远运行的网络爬虫?

我想建立一个基于Scrapy的网络爬虫,从多个新闻门户网站抓取新闻图片。我希望这个爬虫是:永远奔跑表示它将定期重新访问一些门户页面以获取更新。安排优先事项。为不同类型的URL赋予不同的优先级。多线程抓取我已经阅读了Scrapy文档,但没有找到与我列出的内容相关的内容(可能是我不够细心)。这里有人知道该怎么做吗?或者只是给出一些想法/例子。谢谢! 最佳答案 Scrapy是一个用于抓取网站的框架,因此,它旨在支持您的标准,但它不会开箱即用;对于某些任务,您可能必须相对熟悉该模块。永远运行取决于调用Scrapy的应用程序。你告诉thesp

python - 如何在scrapy中处理302重定向

我在删除网站时收到来自服务器的302响应:2014-04-0121:31:51+0200[ahrefs-h]DEBUG:Redirecting(302)tofrom我想发送请求到GETurl而不是被重定向。现在我找到了这个中间件:https://github.com/scrapy/scrapy/blob/master/scrapy/contrib/downloadermiddleware/redirect.py#L31我将此重定向代码添加到我的middleware.py文件中,并将其添加到settings.py中:DOWNLOADER_MIDDLEWARES={'street.midd